In recent years, along with the popularization of personal computers and workstations, desktop publishing (DTP) and digital image management are prevalently used. In a computer system having a DTP color monitor and color printer, a color image is created, edited, processed, and so forth on the monitor, an output image is checked by displaying a preview, and the color image is output via the color printer. Also, an image sensed by a digital camera is displayed on the color monitor or is output via the color printer after color adjustment. In such image processing field, various color calculation methods are used for an intended purpose in order to realize a desired color process.
In the preview process of a print output in DTP, L*a*b* values that express color reproduction upon printing an RGB image are calculated based on a color profile of a printer and, for example, sRGB value are calculated from the L*a*b* values to display a preview image on the monitor. Note that the color profile of the printer normally uses a lookup table (LUT). Upon calculating L*a*b* values using this LUT, tetrahedral interpolation that performs linear interpolation calculations in a small region bounded by four points is popularly used. Especially, the tetrahedral interpolation using an LUT divides a hexahedral region bounded by eight neighboring colors into six tetrahedral regions, and makes linear interpolation calculations for respective regions. FIG. 1 illustrates division into six tetrahedral regions.
Color adjustment of a digital camera image corrects color reproduction so that surrounding colors of an adjustment color change upon adjusting a given color. There are many methods for correcting color reproduction. As a typical method, a method of changing RGB halftone characteristics is known. However, such method cannot limit correction of color reproduction to a local region. As an advanced correction method, a method using gamut mapping is used. According to this method, color reproduction can be corrected by changing mapping parameters as in a technique disclosed in, e.g., Japanese Patent Laid-Open No. 2002-33929. As another correction method, a method of expressing color reproduction by approximation using a plurality of representative colors, and implementing correction by combining changes of these representative colors and tetrahedral interpolation using the representative colors is known. According to this method, color reproduction can be corrected by limiting the range of influence to only a tetrahedral region including an adjustment color.
However, when tetrahedral interpolation is used, an image disturbance often occurs due to switching of linear interpolations to have the tetrahedron surface as a boundary. For example, in the preview process of a print output, image disturbances such as a decrease in preview display precision due to a decrease in L*a*b* value calculation precision resulting from switching of linear interpolations, generation of pseudo edges, and the like may occur. Especially, when the grid intervals of an LUT are coarse, values change abruptly to have the surfaces of tetrahedrons as boundaries and pronounced image disturbances are prone to occur.
When the tetrahedral interpolation is used in correction of color reproduction upon color adjustment, image disturbances such as pseudo edges and the like may occur since the surfaces of each tetrahedron satisfy the boundary condition. When the rate of change of lightness varies to have the surface of a tetrahedron as a boundary, a smooth halftone change of a gradation image or the like is lost. If the rate of change varies abruptly, image disturbances such as pseudo edges and the like appear more conspicuously.
When gamut mapping is to be made in correction of color reproduction upon color adjustment, it is difficult to directly designate a color after adjustment. For example, according to a popular mapping method that performs compression mapping to have one point on the L-axis as a target point, a change in color becomes steep near the gamut boundary, and image disturbances such as pseudo edges and the like may occur. FIGS. 2A and 2B show a state wherein a change in color becomes steep near the gamut boundary. In FIG. 2A, the one-dashed chain line indicates the monitor color reproduction. In FIG. 2B, the solid curve indicates the printer color reproduction after mapping, and the dotted curve indicates the printer gamut.
In the aforementioned fields such as DTP, CAD, and the like, a color prediction technique that predicts an actual physical stimulus value upon printing or displaying a digital image is indispensable.
As a technique required for this color prediction technique, for example, color management is known. For example, when a color image is created, edited, processed, and so forth on a color monitor and is output via a color printer, it is required to attain perceptual matching between the color image on the monitor and the output image of the printer independently of the color characteristics of the monitor and printer. As an example of a technique that implements color management which meets such requirement, the Color Management System (CMS) that performs color management based on ICC color profiles, which are specified based by ICC (International Color Consortium), is known.
The CMS defines a device-independent hub color space or Profile Connection Space (PCS), and implements color management using a source profile that specifies color conversion from a device color space to the hub color space (or PCS) and a destination profile that specifies color conversion from the hub color space (PCS) to the device color space on that color space.
A processing system includes two major conversion processes: a process for converting an input color signal value on a device color space depending on an input device into a color signal value on the hub color space (or PCS) using the source profile, and a process for converting that color signal value into an output color signal of a device color space suited to an output device using the destination profile. This system can flexibly support various kinds of color matching such as color matching from a scanner to a printer, that from a monitor to a printer, and the like. For example, when a monitor profile is designated as the source profile and a printer profile is designated as the destination profile in a DTP system, perceptual matching between a color image on the monitor and an output image of the printer can be realized.
Since the quality of perceptual matching depends on profiles, profiles that associate colors depending on devices and those on the hub color space or PCS as precisely as possible must be prepared. For this purpose, color prediction that predicts a physical stimulus value upon actually printing or displaying a device-dependent color must be precisely executed.
As such color prediction technique, a table type color prediction technique that uses colorimetric values of patches and linear interpolation is available. As the linear interpolation, various interpolation methods such as tetrahedral interpolation, cubic interpolation, triangular prism interpolation, and the like have been proposed. However, the prediction precision of these interpolation methods depends on the grid density of a table. For this reason, when high precision is required, the number of grids must be increased to perform colorimetry processes of a very large number of patches, thus requiring a lot of labor.